package com.atguigu;

import lombok.AllArgsConstructor;

import java.util.HashMap;

/**
 * @author li.chunlong lcl253-137@alibaba-inc.com
 * @desc 公式变量的解释器
 * @date 2021-10-22
 */
@AllArgsConstructor
public class VarExpression extends Expression {

    /**
     * 公式参数: key=a, key=b, key=c
     */
    private String key;

    /**
     *  根据变量名称，返回对应值
     *
     * @param var 公式变量的键值对，就是{a=10, b=20}。key是表达式参数，value是表达式的实际值
     * @return 公式变量的实际值
     */
    @Override
    public int interpreter(HashMap<String, Integer> var) {
        return var.get(this.key);
    }
}
